3 research outputs found
OpTaS: An Optimization-based Task Specification Library for Trajectory Optimization and Model Predictive Control
This paper presents OpTaS, a task specification Python library for Trajectory
Optimization (TO) and Model Predictive Control (MPC) in robotics. Both TO and
MPC are increasingly receiving interest in optimal control and in particular
handling dynamic environments. While a flurry of software libraries exists to
handle such problems, they either provide interfaces that are limited to a
specific problem formulation (e.g. TracIK, CHOMP), or are large and statically
specify the problem in configuration files (e.g. EXOTica, eTaSL). OpTaS, on the
other hand, allows a user to specify custom nonlinear constrained problem
formulations in a single Python script allowing the controller parameters to be
modified during execution. The library provides interface to several open
source and commercial solvers (e.g. IPOPT, SNOPT, KNITRO, SciPy) to facilitate
integration with established workflows in robotics. Further benefits of OpTaS
are highlighted through a thorough comparison with common libraries. An
additional key advantage of OpTaS is the ability to define optimal control
tasks in the joint space, task space, or indeed simultaneously. The code for
OpTaS is easily installed via pip, and the source code with examples can be
found at https://github.com/cmower/optas
ROS-PyBullet Interface: A Framework for Reliable Contact Simulation and Human-Robot Interaction
Reliable contact simulation plays a key role in the development of
(semi-)autonomous robots, especially when dealing with contact-rich
manipulation scenarios, an active robotics research topic. Besides simulation,
components such as sensing, perception, data collection, robot hardware
control, human interfaces, etc. are all key enablers towards applying machine
learning algorithms or model-based approaches in real world systems. However,
there is a lack of software connecting reliable contact simulation with the
larger robotics ecosystem (i.e. ROS, Orocos), for a more seamless application
of novel approaches, found in the literature, to existing robotic hardware. In
this paper, we present the ROS-PyBullet Interface, a framework that provides a
bridge between the reliable contact/impact simulator PyBullet and the Robot
Operating System (ROS). Furthermore, we provide additional utilities for
facilitating Human-Robot Interaction (HRI) in the simulated environment. We
also present several use-cases that highlight the capabilities and usefulness
of our framework. Please check our video, source code, and examples included in
the supplementary material. Our full code base is open source and can be found
at https://github.com/cmower/ros_pybullet_interface